/*
 * ValidadorFecha.java
 *
 * Created on October 24, 2007, 4:57 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package web.util.validadores;

import java.text.DateFormat;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

/**
 *
 * @author kabad
 */
public class ValidadorFecha implements Validator {

    private Date fechaGuia;
    
    /** Creates a new instance of ValidadorFecha */
    public ValidadorFecha(Date fechaGuia) {
        this.fechaGuia=fechaGuia;
    }

    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        FacesMessage mensajeFace = null;
        System.out.println("Valor: "+value);
        try{
        Date fecha=(Date)value;
        if(fecha.compareTo(fechaGuia)<=0){ //Valida que la fecha ingresada sea mayor a la fecha guia
            mensajeFace=new FacesMessage(FacesMessage.SEVERITY_ERROR,"La fecha debe ser mayor a la fecha : "+  fechaGuia,"");
            throw new ValidatorException(mensajeFace);
        }
        }catch(ClassCastException ex){
            mensajeFace=new FacesMessage(FacesMessage.SEVERITY_ERROR,"No es una fecha valida","");
            throw new ValidatorException(mensajeFace);
        }
    }
    
}
